package com.hds.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang.math.RandomUtils;

import com.cloopen.rest.sdk.CCPRestSDK;

/**
 * 验证码工具类
 * 
 * @author Administrator
 * @date 2015年7月30日
 * @version 1.0
 */
public class CaptchaUtil {
	
	/** 验证码默认位数 */
	private static final int DEFAULT_NUMBER = 6;
	
	/**
	 * 生成默认位数的数字验证码
	 * 
	 * @return 数字验证码
	 */
	public static String generateSmsCaptcha() {
		return generateSmsCaptcha(DEFAULT_NUMBER);
	}
	
	/**
	 * 生成指定位数的验证码
	 * 
	 * @param n 需生成数字验证码的位数
	 * @return n位的验证码
	 */
	public static String generateSmsCaptcha(int n) {
		StringBuilder sb = new StringBuilder();
		for(int i=0; i<n; i++) {
			sb.append(RandomUtils.nextInt(10));
		}
		return sb.toString();
	}
	
	/**
	 * 获取云通讯平台REST接口
	 * 
	 * @param serverUrl 服务器地址
	 * @param serverPort 服务器端口
	 * @param mainAccount 主帐号名称
	 * @param mainToken 主帐号令牌
	 * @param appId 应用ID
	 * @return REST接口
	 */
	public static CCPRestSDK getCCPRestSDK(String serverUrl, String serverPort, String mainAccount, String mainToken, String appId) {
		CCPRestSDK restAPI = new CCPRestSDK();
		restAPI.init(serverUrl, serverPort);// 初始化服务器地址和端口，格式如下，服务器地址不需要写https://
		restAPI.setAccount(mainAccount, mainToken);// 初始化主帐号名称和主帐号令牌
		restAPI.setAppId(appId);// 初始化应用ID
		return restAPI;
	}
	/**手机号验证*/
	public static boolean isMobileNumber(String mobiles){
		Pattern p = Pattern.compile("^((13[0-9])|(14[0-9])|(15[^4,\\D])|(17[0-9])|(18[0-9]))\\d{8}$");
		Matcher m = p.matcher(mobiles);
		return m.matches();
	}
}
